/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package ccore.expression;

import ccore.common.CommonPackage;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see ccore.expression.ExpressionFactory
 * @model kind="package"
 * @generated
 */
public interface ExpressionPackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "expression";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "http://expression";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "expression";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	ExpressionPackage eINSTANCE = ccore.expression.impl.ExpressionPackageImpl.init();

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CIntExprImpl <em>CInt Expr</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CIntExprImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntExpr()
	 * @generated
	 */
	int CINT_EXPR = 1;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_EXPR__CCORE = CommonPackage.CNODE__CCORE;

	/**
	 * The number of structural features of the '<em>CInt Expr</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_EXPR_FEATURE_COUNT = CommonPackage.CNODE_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CIntExprVarImpl <em>CInt Expr Var</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CIntExprVarImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntExprVar()
	 * @generated
	 */
	int CINT_EXPR_VAR = 9;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_EXPR_VAR__CCORE = CINT_EXPR__CCORE;

	/**
	 * The number of structural features of the '<em>CInt Expr Var</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_EXPR_VAR_FEATURE_COUNT = CINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CIntVarImpl <em>CInt Var</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CIntVarImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntVar()
	 * @generated
	 */
	int CINT_VAR = 0;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__CCORE = CINT_EXPR_VAR__CCORE;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__NAME = CINT_EXPR_VAR_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__VALUE = CINT_EXPR_VAR_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Lower Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__LOWER_BOUND = CINT_EXPR_VAR_FEATURE_COUNT + 2;

	/**
	 * The feature id for the '<em><b>Upper Bound</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__UPPER_BOUND = CINT_EXPR_VAR_FEATURE_COUNT + 3;

	/**
	 * The feature id for the '<em><b>Int Var</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__INT_VAR = CINT_EXPR_VAR_FEATURE_COUNT + 4;

	/**
	 * The feature id for the '<em><b>Constraints</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR__CONSTRAINTS = CINT_EXPR_VAR_FEATURE_COUNT + 5;

	/**
	 * The number of structural features of the '<em>CInt Var</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR_FEATURE_COUNT = CINT_EXPR_VAR_FEATURE_COUNT + 6;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CIntExprCstImpl <em>CInt Expr Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CIntExprCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntExprCst()
	 * @generated
	 */
	int CINT_EXPR_CST = 3;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_EXPR_CST__CCORE = CINT_EXPR__CCORE;

	/**
	 * The number of structural features of the '<em>CInt Expr Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_EXPR_CST_FEATURE_COUNT = CINT_EXPR_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CIntCstImpl <em>CInt Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CIntCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntCst()
	 * @generated
	 */
	int CINT_CST = 2;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_CST__CCORE = CINT_EXPR_CST__CCORE;

	/**
	 * The feature id for the '<em><b>Value</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_CST__VALUE = CINT_EXPR_CST_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CInt Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_CST_FEATURE_COUNT = CINT_EXPR_CST_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CBasicIntExprCstImpl <em>CBasic Int Expr Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CBasicIntExprCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCBasicIntExprCst()
	 * @generated
	 */
	int CBASIC_INT_EXPR_CST = 8;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CBASIC_INT_EXPR_CST__CCORE = CINT_EXPR_CST__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CBASIC_INT_EXPR_CST__PARAMETERS = CINT_EXPR_CST_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CBasic Int Expr Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CBASIC_INT_EXPR_CST_FEATURE_COUNT = CINT_EXPR_CST_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CAddCstImpl <em>CAdd Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CAddCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCAddCst()
	 * @generated
	 */
	int CADD_CST = 4;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CADD_CST__CCORE = CBASIC_INT_EXPR_CST__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CADD_CST__PARAMETERS = CBASIC_INT_EXPR_CST__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CAdd Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CADD_CST_FEATURE_COUNT = CBASIC_INT_EXPR_CST_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CSubCstImpl <em>CSub Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CSubCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCSubCst()
	 * @generated
	 */
	int CSUB_CST = 5;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CSUB_CST__CCORE = CBASIC_INT_EXPR_CST__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CSUB_CST__PARAMETERS = CBASIC_INT_EXPR_CST__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CSub Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CSUB_CST_FEATURE_COUNT = CBASIC_INT_EXPR_CST_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CMultCstImpl <em>CMult Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CMultCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCMultCst()
	 * @generated
	 */
	int CMULT_CST = 6;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CMULT_CST__CCORE = CBASIC_INT_EXPR_CST__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CMULT_CST__PARAMETERS = CBASIC_INT_EXPR_CST__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CMult Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CMULT_CST_FEATURE_COUNT = CBASIC_INT_EXPR_CST_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CDivCstImpl <em>CDiv Cst</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CDivCstImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCDivCst()
	 * @generated
	 */
	int CDIV_CST = 7;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CDIV_CST__CCORE = CBASIC_INT_EXPR_CST__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CDIV_CST__PARAMETERS = CBASIC_INT_EXPR_CST__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CDiv Cst</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CDIV_CST_FEATURE_COUNT = CBASIC_INT_EXPR_CST_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CBasicIntExprVarImpl <em>CBasic Int Expr Var</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CBasicIntExprVarImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCBasicIntExprVar()
	 * @generated
	 */
	int CBASIC_INT_EXPR_VAR = 10;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CBASIC_INT_EXPR_VAR__CCORE = CINT_EXPR_VAR__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CBASIC_INT_EXPR_VAR__PARAMETERS = CINT_EXPR_VAR_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CBasic Int Expr Var</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CBASIC_INT_EXPR_VAR_FEATURE_COUNT = CINT_EXPR_VAR_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CAddVarImpl <em>CAdd Var</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CAddVarImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCAddVar()
	 * @generated
	 */
	int CADD_VAR = 11;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CADD_VAR__CCORE = CBASIC_INT_EXPR_VAR__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CADD_VAR__PARAMETERS = CBASIC_INT_EXPR_VAR__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CAdd Var</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CADD_VAR_FEATURE_COUNT = CBASIC_INT_EXPR_VAR_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CSubVarImpl <em>CSub Var</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CSubVarImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCSubVar()
	 * @generated
	 */
	int CSUB_VAR = 12;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CSUB_VAR__CCORE = CBASIC_INT_EXPR_VAR__CCORE;

	/**
	 * The feature id for the '<em><b>Parameters</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CSUB_VAR__PARAMETERS = CBASIC_INT_EXPR_VAR__PARAMETERS;

	/**
	 * The number of structural features of the '<em>CSub Var</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CSUB_VAR_FEATURE_COUNT = CBASIC_INT_EXPR_VAR_FEATURE_COUNT + 0;

	/**
	 * The meta object id for the '{@link ccore.expression.impl.CIntVarRefImpl <em>CInt Var Ref</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see ccore.expression.impl.CIntVarRefImpl
	 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntVarRef()
	 * @generated
	 */
	int CINT_VAR_REF = 13;

	/**
	 * The feature id for the '<em><b>CCore</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR_REF__CCORE = CINT_EXPR_VAR__CCORE;

	/**
	 * The feature id for the '<em><b>Variable</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR_REF__VARIABLE = CINT_EXPR_VAR_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>CInt Var Ref</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int CINT_VAR_REF_FEATURE_COUNT = CINT_EXPR_VAR_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '<em>Int Exp</em>' data type.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see choco.integer.IntExp
	 * @see ccore.expression.impl.ExpressionPackageImpl#getIntExp()
	 * @generated
	 */
	int INT_EXP = 14;


	/**
	 * The meta object id for the '<em>Int Var</em>' data type.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see choco.integer.IntVar
	 * @see ccore.expression.impl.ExpressionPackageImpl#getIntVar()
	 * @generated
	 */
	int INT_VAR = 15;


	/**
	 * Returns the meta object for class '{@link ccore.expression.CIntVar <em>CInt Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Var</em>'.
	 * @see ccore.expression.CIntVar
	 * @generated
	 */
	EClass getCIntVar();

	/**
	 * Returns the meta object for the attribute '{@link ccore.expression.CIntVar#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see ccore.expression.CIntVar#getName()
	 * @see #getCIntVar()
	 * @generated
	 */
	EAttribute getCIntVar_Name();

	/**
	 * Returns the meta object for the attribute '{@link ccore.expression.CIntVar#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see ccore.expression.CIntVar#getValue()
	 * @see #getCIntVar()
	 * @generated
	 */
	EAttribute getCIntVar_Value();

	/**
	 * Returns the meta object for the attribute '{@link ccore.expression.CIntVar#getLowerBound <em>Lower Bound</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Lower Bound</em>'.
	 * @see ccore.expression.CIntVar#getLowerBound()
	 * @see #getCIntVar()
	 * @generated
	 */
	EAttribute getCIntVar_LowerBound();

	/**
	 * Returns the meta object for the attribute '{@link ccore.expression.CIntVar#getUpperBound <em>Upper Bound</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Upper Bound</em>'.
	 * @see ccore.expression.CIntVar#getUpperBound()
	 * @see #getCIntVar()
	 * @generated
	 */
	EAttribute getCIntVar_UpperBound();

	/**
	 * Returns the meta object for the attribute '{@link ccore.expression.CIntVar#getIntVar <em>Int Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Int Var</em>'.
	 * @see ccore.expression.CIntVar#getIntVar()
	 * @see #getCIntVar()
	 * @generated
	 */
	EAttribute getCIntVar_IntVar();

	/**
	 * Returns the meta object for the reference list '{@link ccore.expression.CIntVar#getConstraints <em>Constraints</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Constraints</em>'.
	 * @see ccore.expression.CIntVar#getConstraints()
	 * @see #getCIntVar()
	 * @generated
	 */
	EReference getCIntVar_Constraints();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CIntExpr <em>CInt Expr</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Expr</em>'.
	 * @see ccore.expression.CIntExpr
	 * @generated
	 */
	EClass getCIntExpr();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CIntCst <em>CInt Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Cst</em>'.
	 * @see ccore.expression.CIntCst
	 * @generated
	 */
	EClass getCIntCst();

	/**
	 * Returns the meta object for the attribute '{@link ccore.expression.CIntCst#getValue <em>Value</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Value</em>'.
	 * @see ccore.expression.CIntCst#getValue()
	 * @see #getCIntCst()
	 * @generated
	 */
	EAttribute getCIntCst_Value();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CIntExprCst <em>CInt Expr Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Expr Cst</em>'.
	 * @see ccore.expression.CIntExprCst
	 * @generated
	 */
	EClass getCIntExprCst();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CAddCst <em>CAdd Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CAdd Cst</em>'.
	 * @see ccore.expression.CAddCst
	 * @generated
	 */
	EClass getCAddCst();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CSubCst <em>CSub Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CSub Cst</em>'.
	 * @see ccore.expression.CSubCst
	 * @generated
	 */
	EClass getCSubCst();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CMultCst <em>CMult Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CMult Cst</em>'.
	 * @see ccore.expression.CMultCst
	 * @generated
	 */
	EClass getCMultCst();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CDivCst <em>CDiv Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CDiv Cst</em>'.
	 * @see ccore.expression.CDivCst
	 * @generated
	 */
	EClass getCDivCst();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CBasicIntExprCst <em>CBasic Int Expr Cst</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CBasic Int Expr Cst</em>'.
	 * @see ccore.expression.CBasicIntExprCst
	 * @generated
	 */
	EClass getCBasicIntExprCst();

	/**
	 * Returns the meta object for the containment reference list '{@link ccore.expression.CBasicIntExprCst#getParameters <em>Parameters</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Parameters</em>'.
	 * @see ccore.expression.CBasicIntExprCst#getParameters()
	 * @see #getCBasicIntExprCst()
	 * @generated
	 */
	EReference getCBasicIntExprCst_Parameters();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CIntExprVar <em>CInt Expr Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Expr Var</em>'.
	 * @see ccore.expression.CIntExprVar
	 * @generated
	 */
	EClass getCIntExprVar();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CBasicIntExprVar <em>CBasic Int Expr Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CBasic Int Expr Var</em>'.
	 * @see ccore.expression.CBasicIntExprVar
	 * @generated
	 */
	EClass getCBasicIntExprVar();

	/**
	 * Returns the meta object for the containment reference list '{@link ccore.expression.CBasicIntExprVar#getParameters <em>Parameters</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Parameters</em>'.
	 * @see ccore.expression.CBasicIntExprVar#getParameters()
	 * @see #getCBasicIntExprVar()
	 * @generated
	 */
	EReference getCBasicIntExprVar_Parameters();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CAddVar <em>CAdd Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CAdd Var</em>'.
	 * @see ccore.expression.CAddVar
	 * @generated
	 */
	EClass getCAddVar();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CSubVar <em>CSub Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CSub Var</em>'.
	 * @see ccore.expression.CSubVar
	 * @generated
	 */
	EClass getCSubVar();

	/**
	 * Returns the meta object for class '{@link ccore.expression.CIntVarRef <em>CInt Var Ref</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>CInt Var Ref</em>'.
	 * @see ccore.expression.CIntVarRef
	 * @generated
	 */
	EClass getCIntVarRef();

	/**
	 * Returns the meta object for the reference '{@link ccore.expression.CIntVarRef#getVariable <em>Variable</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Variable</em>'.
	 * @see ccore.expression.CIntVarRef#getVariable()
	 * @see #getCIntVarRef()
	 * @generated
	 */
	EReference getCIntVarRef_Variable();

	/**
	 * Returns the meta object for data type '{@link choco.integer.IntExp <em>Int Exp</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for data type '<em>Int Exp</em>'.
	 * @see choco.integer.IntExp
	 * @model instanceClass="choco.integer.IntExp"
	 * @generated
	 */
	EDataType getIntExp();

	/**
	 * Returns the meta object for data type '{@link choco.integer.IntVar <em>Int Var</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for data type '<em>Int Var</em>'.
	 * @see choco.integer.IntVar
	 * @model instanceClass="choco.integer.IntVar"
	 * @generated
	 */
	EDataType getIntVar();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	ExpressionFactory getExpressionFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CIntVarImpl <em>CInt Var</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CIntVarImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntVar()
		 * @generated
		 */
		EClass CINT_VAR = eINSTANCE.getCIntVar();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CINT_VAR__NAME = eINSTANCE.getCIntVar_Name();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CINT_VAR__VALUE = eINSTANCE.getCIntVar_Value();

		/**
		 * The meta object literal for the '<em><b>Lower Bound</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CINT_VAR__LOWER_BOUND = eINSTANCE.getCIntVar_LowerBound();

		/**
		 * The meta object literal for the '<em><b>Upper Bound</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CINT_VAR__UPPER_BOUND = eINSTANCE.getCIntVar_UpperBound();

		/**
		 * The meta object literal for the '<em><b>Int Var</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CINT_VAR__INT_VAR = eINSTANCE.getCIntVar_IntVar();

		/**
		 * The meta object literal for the '<em><b>Constraints</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CINT_VAR__CONSTRAINTS = eINSTANCE.getCIntVar_Constraints();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CIntExprImpl <em>CInt Expr</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CIntExprImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntExpr()
		 * @generated
		 */
		EClass CINT_EXPR = eINSTANCE.getCIntExpr();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CIntCstImpl <em>CInt Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CIntCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntCst()
		 * @generated
		 */
		EClass CINT_CST = eINSTANCE.getCIntCst();

		/**
		 * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute CINT_CST__VALUE = eINSTANCE.getCIntCst_Value();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CIntExprCstImpl <em>CInt Expr Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CIntExprCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntExprCst()
		 * @generated
		 */
		EClass CINT_EXPR_CST = eINSTANCE.getCIntExprCst();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CAddCstImpl <em>CAdd Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CAddCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCAddCst()
		 * @generated
		 */
		EClass CADD_CST = eINSTANCE.getCAddCst();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CSubCstImpl <em>CSub Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CSubCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCSubCst()
		 * @generated
		 */
		EClass CSUB_CST = eINSTANCE.getCSubCst();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CMultCstImpl <em>CMult Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CMultCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCMultCst()
		 * @generated
		 */
		EClass CMULT_CST = eINSTANCE.getCMultCst();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CDivCstImpl <em>CDiv Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CDivCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCDivCst()
		 * @generated
		 */
		EClass CDIV_CST = eINSTANCE.getCDivCst();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CBasicIntExprCstImpl <em>CBasic Int Expr Cst</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CBasicIntExprCstImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCBasicIntExprCst()
		 * @generated
		 */
		EClass CBASIC_INT_EXPR_CST = eINSTANCE.getCBasicIntExprCst();

		/**
		 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CBASIC_INT_EXPR_CST__PARAMETERS = eINSTANCE.getCBasicIntExprCst_Parameters();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CIntExprVarImpl <em>CInt Expr Var</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CIntExprVarImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntExprVar()
		 * @generated
		 */
		EClass CINT_EXPR_VAR = eINSTANCE.getCIntExprVar();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CBasicIntExprVarImpl <em>CBasic Int Expr Var</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CBasicIntExprVarImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCBasicIntExprVar()
		 * @generated
		 */
		EClass CBASIC_INT_EXPR_VAR = eINSTANCE.getCBasicIntExprVar();

		/**
		 * The meta object literal for the '<em><b>Parameters</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CBASIC_INT_EXPR_VAR__PARAMETERS = eINSTANCE.getCBasicIntExprVar_Parameters();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CAddVarImpl <em>CAdd Var</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CAddVarImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCAddVar()
		 * @generated
		 */
		EClass CADD_VAR = eINSTANCE.getCAddVar();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CSubVarImpl <em>CSub Var</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CSubVarImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCSubVar()
		 * @generated
		 */
		EClass CSUB_VAR = eINSTANCE.getCSubVar();

		/**
		 * The meta object literal for the '{@link ccore.expression.impl.CIntVarRefImpl <em>CInt Var Ref</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see ccore.expression.impl.CIntVarRefImpl
		 * @see ccore.expression.impl.ExpressionPackageImpl#getCIntVarRef()
		 * @generated
		 */
		EClass CINT_VAR_REF = eINSTANCE.getCIntVarRef();

		/**
		 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference CINT_VAR_REF__VARIABLE = eINSTANCE.getCIntVarRef_Variable();

		/**
		 * The meta object literal for the '<em>Int Exp</em>' data type.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see choco.integer.IntExp
		 * @see ccore.expression.impl.ExpressionPackageImpl#getIntExp()
		 * @generated
		 */
		EDataType INT_EXP = eINSTANCE.getIntExp();

		/**
		 * The meta object literal for the '<em>Int Var</em>' data type.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see choco.integer.IntVar
		 * @see ccore.expression.impl.ExpressionPackageImpl#getIntVar()
		 * @generated
		 */
		EDataType INT_VAR = eINSTANCE.getIntVar();

	}

} //ExpressionPackage
